#ifndef INFO_MODEL_INTERFACE_H
#define INFO_MODEL_INTERFACE_H

#include <utils\smart_car_services.h>
#include <cstdint>
#include "service_interface.h"

namespace info_model
{
	typedef boost::shared_ptr<base_object> object_t;

	class info_model_interface: public smart_car::service_interface
	{
	public:
		enum { service_id = smart_car::SMART_CAT_INFO_MODEL};
		virtual bool add_object(object_t obj) = 0;
		virtual object_t find(object_type type) = 0;
		virtual void remove(object_type type) = 0;
		virtual ~info_model_interface() {}
	};
}

#endif /* INFO_MODEL_INTERFACE_H */